package exercise.week02;

import java.util.Scanner;

/**
 * 6届-校赛-JavaB-5
 * <p>
 * 勾股定理，西方称为毕达哥拉斯定理，它所对应的三角形现在称为：直角三角形。
 * <p>
 * 已知直角三角形的斜边是某个整数，并且要求另外两条边也必须是整数。
 * <p>
 * 求满足这个条件的不同直角三角形的个数。
 * <p>
 * 【数据格式】
 * 输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
 * 要求输出一个整数，表示满足条件的直角三角形个数。
 * <p>
 * 例如，输入：
 * 5
 * 程序应该输出：
 * 1
 * <p>
 * 再例如，输入：
 * 100
 * 程序应该输出：
 * 2
 * <p>
 * 再例如，输入：
 * 3
 * 程序应该输出：
 * 0
 * <p>
 * <p>
 * 资源约定：
 * 峰值内存消耗（含虚拟机） < 256M
 * CPU消耗  < 1000ms
 */
public class T5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int c = sc.nextInt();
        long startTime = System.currentTimeMillis();
        int c2 = c * c;
        int a, b, b2,count = 0;
//        for (a = c; a > 0; a--) {
//            for (b = c; b > 0; b--) {
//                if (c2 == (b * b + a * a)) {
//                    count++;
//                }
//            }
//        }
        for (a = c; a > 0; a--) {
            b2 = c2 - a*a;
            long l = (long) (Math.sqrt(b2) + 0.5);
            if (l * l == b2){
                count++;
            }
        }
        System.out.println(count / 2);
        long endTime = System.currentTimeMillis();
        System.out.println("程序用时：" + (endTime - startTime) + "毫秒");
    }
}
